.TH std::experimental::ostream_joiner::operator= 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::experimental::ostream_joiner::operator= \- std::experimental::ostream_joiner::operator=

.SH Synopsis
   template< class T >                                 \fB(1)\fP (library fundamentals TS v2)
   ostream_joiner& operator=( const T& value );
   ostream_joiner& operator=( const ostream_joiner&    \fB(2)\fP (library fundamentals TS v2)
   other ) = default;                                      (implicitly declared)
   ostream_joiner& operator=( ostream_joiner&& other ) \fB(3)\fP (library fundamentals TS v2)
   = default;                                              (implicitly declared)

   1) First, if the private "first element" flag is false, insert the delimiter delim
   into the output stream os associated with this iterator as if by os << delim;.
   Then, unconditionally sets the "first element" flag to false, and insert value into
   the output stream as if by os << value;.
   Let out_stream, delim, and first_element denote the private stream pointer,
   delimiter, and "first element" flag members respectively. Then this function is
   equivalent to

 if (!first_element)
     *out_stream << delim;
 first_element = false;
 *out_stream << value;
 return *this;

   2,3) Implicitly declared copy/move assignment operator that copy/move assigns the
   private stream pointer, delimiter, and "first element" flag members.

.SH Parameters

   value - the object to to be written to the stream
   other - the ostream_joiner object to be assigned to this object

.SH Return value

   *this.

.SH Example


// Run this code

 #include <experimental/iterator>
 #include <iostream>

 int main()
 {
     auto joiner = std::experimental::make_ostream_joiner(std::cout, ", ");
     joiner = "First";
     joiner = "do no harm.";  // prefixes with the delimiter
 }

.SH Output:

 First, do no harm.
